A computing environment wherein multiple servers have the capability of sharing resources is referred to as a cluster. A cluster may include multiple operating system instances which share resources and collaborate with each other to process system tasks. Various cluster systems exist today, including, for example, the RS/6000 SP system offered by International Business Machines Corporation.
Within a typical cluster, redundant hardware and software are used to provide replicas on a backup server(s) of each database on an associated primary server, such that clustered servers are exact duplicates of another server. This clustered environment today forms the basis for high availability computing. In the event of a primary server failover, a user's data request is transparently routed to the clustered (i.e., backup) server, allowing the user to access the appropriate data without even realizing that the primary server has failed.
One problem with maintaining exact duplicates of servers and their databases within a computing environment is the obvious cost disadvantage of requiring currently maintained, redundant databases supporting one or more database services.
Thus, there is a need for techniques, responsive to failure at a primary database server, to dynamically transition database service responsibility from the failing server to another database server of a computing environment without pre-requiring maintenance of redundant databases at the primary and backup servers.